λ kubectl logs
クラスタ上で実行されている Pod の ログを確認する
$ kubectl logs <pod-name>
オプション例
table:_
オプション 説明
-n <namespace> 対象の Namespace を指定(省略時は default)
-c <container-name> Pod に複数コンテナがある場合、どのコンテナのログかを指定
--previous 再起動前のコンテナのログを表示(クラッシュ時などに便利)
-f(--follow) ログのリアルタイム表示(tail -f のようなもの)
--since=10m 過去10分間のログを表示
--tail=100 最後の100行のみ表示
例
1. 単純にログを表示
$ kubectl logs myapp-pod
2. Namespace を指定
$ kubectl logs myapp-pod -n production
3. コンテナを指定(Podに複数コンテナがある場合)
$ kubectl logs myapp-pod -c myapp-container
4. クラッシュしたコンテナの前回ログ
$ kubectl logs myapp-pod --previous
5. リアルタイムでログを追う
$ kubectl logs -f myapp-pod
補足GPT-4.icon
ログは基本的に 標準出力(stdout)と標準エラー(stderr) に出力された内容です。
Pod の中でログファイルを直接出力しても、kubectl logs では取得できません。
kubectl logs はローカルマシンから APIサーバ経由 でログを取得しています。